package com.ruoyi.system.service.estate.impl;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.estate.FeeItemMapper;
import com.ruoyi.system.domain.estate.FeeItem;
import com.ruoyi.system.service.estate.IFeeItemService;
import com.ruoyi.common.utils.DateUtils;

/**
 * 收费项目Service业务层处理
 * 
 * @author ruoyi
 */
@Service
public class FeeItemServiceImpl implements IFeeItemService 
{
    @Autowired
    private FeeItemMapper feeItemMapper;

    /**
     * 查询收费项目信息
     * 
     * @param itemId 收费项目ID
     * @return 收费项目信息
     */
    @Override
    public FeeItem selectFeeItemById(Long itemId)
    {
        return feeItemMapper.selectFeeItemById(itemId);
    }

    /**
     * 查询收费项目列表
     * 
     * @param feeItem 收费项目信息
     * @return 收费项目
     */
    @Override
    public List<FeeItem> selectFeeItemList(FeeItem feeItem)
    {
        return feeItemMapper.selectFeeItemList(feeItem);
    }

    /**
     * 新增收费项目
     * 
     * @param feeItem 收费项目信息
     * @return 结果
     */
    @Override
    public int insertFeeItem(FeeItem feeItem)
    {
        // 生成收费项目编号：FI + 年月日时分秒 + 3位随机数
        String itemCode = "FI" + DateUtils.dateTimeNow() + String.format("%03d", (int)(Math.random() * 1000));
        feeItem.setItemCode(itemCode);
        return feeItemMapper.insertFeeItem(feeItem);
    }

    /**
     * 修改收费项目
     * 
     * @param feeItem 收费项目信息
     * @return 结果
     */
    @Override
    public int updateFeeItem(FeeItem feeItem)
    {
        return feeItemMapper.updateFeeItem(feeItem);
    }

    /**
     * 批量删除收费项目
     * 
     * @param itemIds 需要删除的收费项目ID
     * @return 结果
     */
    @Override
    public int deleteFeeItemByIds(Long[] itemIds)
    {
        return feeItemMapper.deleteFeeItemByIds(itemIds);
    }

    /**
     * 删除收费项目信息
     * 
     * @param itemId 收费项目ID
     * @return 结果
     */
    @Override
    public int deleteFeeItemById(Long itemId)
    {
        return feeItemMapper.deleteFeeItemById(itemId);
    }
} 